//问题描述
//一个整数如果按从低位到高位的顺序，奇数位 (个位、百位、万位 ) 上的数字是奇数，
//偶数位 (十位、千位、十万位 ) 上的数字是偶数，我们就称之为 “好数”。

//给定一个正整数 N，请计算从 1 到 N 一共有多少个好数。

//输入格式
//一个整数 N。

//输出格式
//一个整数代表答案。
#include<iostream>
using namespace std;
int main()
{
	int n = 0;
	cin >> n;
	int cnt = 0;
	for(int i = 1; i <= n; i++){
		int k = i;
		int flag = 1, pos = 1;
		while(k){
			int temp = k % 10;
			if((temp % 2 == 0 && pos % 2 != 0)||(temp % 2 == 1 && pos % 2 != 1)){
				flag = 0;
				break;
			}
			k /= 10;
			pos++;
		}
		if(flag){
			cnt++;
		}
	}
	cout << cnt;
	return 0;
}
